home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Mac Magazin/MacEasy 12
/
Mac Magazin and MacEasy Magazine CD - Issue 12.iso
/
Diskette Mac MAGAZIN
/
QuickEditor 3.6 (FAT)
/
Documentation
/
How to write plug-ins
/
Examples
/
Transition
/
ClockWipe.c
< prev
next >
Wrap
Text File
|
1995-04-17
|
2KB
|
59 lines
/******************** ***********************/
//
// ClockWipe Plug-in Source Code
//
// Version 1.0 Mathias TSCHOPP
//
//
// Mathias TSCHOPP
// 13 Troupe
// CH-1253 Vandoeuvres
// GENEVA / SWITZERLAND
//
// FAX: (+41 22) 348 33 28
// Internet: mtschopp@perokcity.net.ch (only short mails, no binaries!)
// mtz@medsun.unige.ch
//
/******************** ***********************/
#include "QDOffscreen.h"
// This ProcInfo descriptor is only for PPC Plug-ins
ProcInfoType __procinfo = kCStackBased|\
RESULT_SIZE( SIZE_CODE( sizeof(Boolean) ))|\
STACK_ROUTINE_PARAMETER( 1, SIZE_CODE( sizeof( short)))|\
STACK_ROUTINE_PARAMETER( 2, SIZE_CODE( sizeof( GWorldPtr)))|\
STACK_ROUTINE_PARAMETER( 3, SIZE_CODE( sizeof( GWorldPtr)))|\
STACK_ROUTINE_PARAMETER( 4, SIZE_CODE( sizeof( short)))|\
STACK_ROUTINE_PARAMETER( 5, SIZE_CODE( sizeof( short)))|\
STACK_ROUTINE_PARAMETER( 6, SIZE_CODE( sizeof( Rect*)));
Boolean main (short i,GWorldPtr GMonde1,GWorldPtr GMonde2,short nbOfFrames,short version,Rect *MoviEBox)// Rotation sur Z et Translation sur Z
{
Rect Etal;
Rect theC;
GWorldPtr GMondeMask=nil;
OSErr err;
RGBColor blackRGB = { 0, 0, 0 };
SetRect(&Etal,0,0,MoviEBox->right,MoviEBox->bottom);
SetRect(&theC,-100,-100,MoviEBox->right+100,MoviEBox->bottom+100);
err = NewGWorld(&GMondeMask,32, &Etal, nil, nil, 0);
if (!GMondeMask) return 1;
SetGWorld(GMondeMask,nil);
LockPixels (GMondeMask->portPixMap);
EraseRect(&Etal);
RGBForeColor(&blackRGB);
if (version==0) PaintArc(&theC,0,(i+1)*(float)(360/nbOfFrames)); // version==0 do ClockWise Wipe
if (version==1) PaintArc(&theC,0,-(i+1)*(float)(360/nbOfFrames)); // version==1 do CCW Wipe
SetGWorld(GMonde1,nil);
CopyMask((BitMap *) (*(GMonde2->portPixMap)),(BitMap *) (*(GMondeMask->portPixMap)),
(BitMap *) (*(GMonde1->portPixMap)),&Etal,&Etal,&Etal);
SetGWorld(GMonde2,nil);
CopyBits((BitMap *) (*(GMonde1->portPixMap)),(BitMap *) (*(GMonde2->portPixMap)),
&Etal,&Etal,srcCopy,nil);
UnlockPixels(GMondeMask->portPixMap);
DisposeGWorld(GMondeMask);
return 0;
}